perm filename TVTAKE.SAI[GEO,BGB] blob
sn#001338 filedate 1972-10-28 generic text, type T, neo UTF8
00100 ENTRY DUMMY;
00200 BEGIN "TVTAKE"
00300 REQUIRE "ABBREV[SYS,BGB]" SOURCE_FILE;
00400 INTERNAL INTEGER XSAMPLE,YLINE,WIDTH,BUFCNT;
00500 EXTERNAL PROCEDURE TV;
00600 BOOLEAN BGB;
00700 INTERNAL STRING TVSTR;
00800
00900 PROCEDURE TVTAKE(INTEGER X,Y,DX,DY);
01000 BEGIN "TVTAKE"
01100 XSAMPLE ← X - 144;
01200 YLINE ← Y - 108;
01300 WIDTH ← 32;
01400 BUFCNT ← 3*DY*WIDTH;
01500 BEGIN
01600 INTERNAL INTEGER ARRAY BUF0,BUF2,BUF4,BUF6[1:6912];
01700 TV;
01800 END;
01900 END "TVTAKE";
02000 INTEGER X,Y,FLG;
02100 INTEGER ARRAY HEADER[0:9];
02200 INTERNAL PROCEDURE TVSUBR;
02300 BEGIN "TVSUBR"
02400 INTERNAL INTEGER ARRAY TVBUF[1:10368];
02500 X ← 172;
02600 Y ← 128;
02700 DO BEGIN
02800 OUTSTR(↓&"FILE = ");
02900 BGB ← ((CALL(0,"GETPPN")LAND '777777)='424742);
03000 TVSTR ← INCHWL;
03100 END UNTIL LENGTH(TVSTR)≥1 ∧ "A"≤TVSTR ∧ TVSTR≤"Z";
03200 TVTAKE(X,Y,16,108);
03300 HEADER[2] ← 6;
03400 HEADER[5] ← Y-108;
03500 HEADER[6] ← Y+108-1;
03600 HEADER[7] ← X-144;
03700 HEADER[8] ← X+144-1;
03800 OPEN(2,"DSK",'10,0,3,0,0,0);
03900 IF BGB THEN TVSTR←TVSTR&".TMP[DAT,BGB]";
04000 ENTER(2,TVSTR,FLG);
04100 ARRYOUT(2,HEADER[0],10);
04200 ARRYOUT(2,TVBUF[1],10368);
04300 RELEASE(2);
04400 END "TVSUBR";
04500
04600 END "TVTAKE";